package gov.nasa.anml.lifted;

import gov.nasa.anml.PDDL;
import gov.nasa.anml.utility.SimpleObject;
import gov.nasa.anml.utility.SimpleString;

public interface Identifier<L,R extends SimpleObject<? super R>> extends Expression<L,R>, Comparable<Identifier<L,R>>  {

	public abstract IdentifierCode idCode();
	// psuedo-fields-access.  R-value
	public abstract SimpleString name();
	public abstract int id();
	// psuedo-fields-assignment.  Chainable
	public abstract Identifier<L,R> name(SimpleString name);
	public abstract Identifier<L,R> id(int id);
	
}